package com.pubinfo.passbook.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * null
 *
 * @TableName t_source_normal
 */
@TableName(value = "t_source_normal")
@Data
@NoArgsConstructor
@ApiModel(value = "TSourceNormal", description = "普通发票实体")
public class TSourceNormal extends Model implements Serializable {
  /**
   *
   */
  // @TableId
  //private String invoiceId;
  
  @TableId
  @ApiModelProperty("发票id")
  public String id;
  /**
   * 校验码
   */
  @ApiModelProperty("校验码")
  private String jym;
  
  /**
   * 购⽅名称
   */
  @ApiModelProperty("名称")
  private String gfmc;
  
  /**
   * 购买⽅地址电话
   */
  @ApiModelProperty("购买⽅地址电话")
  private String gmfdzdh;
  
  /**
   * 购买⽅银⾏账号
   */
  @ApiModelProperty("购买⽅银⾏账号")
  private String gmfyhzh;
  
  /**
   * 销⽅名称
   */
  @ApiModelProperty("销⽅名称")
  private String xfmc;
  
  /**
   * 销售⽅地址电话
   */
  @ApiModelProperty("销售⽅地址电话")
  private String xsfdzdh;
  
  /**
   * 销售⽅银⾏账号
   */
  @ApiModelProperty("销售⽅银⾏账号")
  private String xsfyhzh;
  
  /**
   * 收款⼈
   */
  @ApiModelProperty("收款⼈")
  private String skr;
  
  /**
   * 复核⼈
   */
  @ApiModelProperty("复核⼈")
  private String fhr;
  
  /**
   * 购买方电话,提取
   */
  @ApiModelProperty("购买方电话,提取")
  private String gmfdh;
  /**
   * 开票⼈
   */
  @ApiModelProperty("开票⼈")
  private String kpr;
  
  /**
   * ⾦额
   */
  @ApiModelProperty("额")
  @JsonFormat(shape = JsonFormat.Shape.STRING)
  private BigDecimal je;
  
  /**
   * 税率
   */
  @ApiModelProperty("税率")
  @JsonFormat(shape = JsonFormat.Shape.STRING)
  private BigDecimal slv;
  
  /**
   * 税额
   */
  @ApiModelProperty("税额")
  @JsonFormat(shape = JsonFormat.Shape.STRING)
  private BigDecimal se;
  
  /**
   * 价税合计：单位：元
   */
  @ApiModelProperty("价税合计：单位：元")
  @JsonFormat(shape = JsonFormat.Shape.STRING)
  private BigDecimal jshj;
  
  /**
   * 备注
   */
  @ApiModelProperty("备注")
  private String bz;
  
  /**
   * 机器编号/设备编号：税控盘 号、⾦税盘号
   */
  @ApiModelProperty("机器编号/设备编号：税控盘 号、⾦税盘号")
  private String sbbh;
  
  /**
   * 销⽅省级税务机关代码
   */
  @ApiModelProperty("销⽅省级税务机关代码")
  private String xf_sjswjg_dm;
  
  /**
   * 销⽅地市税务机关代码
   */
  @ApiModelProperty("销⽅地市税务机关代码")
  private String xf_dsswjg_dm;
  
  /**
   * 销⽅区县税务机关代码
   */
  @ApiModelProperty("销⽅区县税务机关代码")
  private String xf_qxswjg_dm;
  
  /**
   * 购⽅省级税务机关代码
   */
  @ApiModelProperty("购⽅省级税务机关代码")
  private String gf_sjswjg_dm;
  
  /**
   * 购⽅地市税务机关代码
   */
  @ApiModelProperty("购⽅地市税务机关代码")
  private String gf_dsswjg_dm;
  
  /**
   * 购⽅区县税务机关代码
   */
  @ApiModelProperty("购⽅区县税务机关代码")
  private String gf_qxswjg_dm;
  @TableField(exist = false)
  @ApiModelProperty("商品列表")
  private List<TSourceInvoiceItem> items;
  @TableField(exist = false)
  private static final long serialVersionUID = 1L;
}